187 research outputs found

    Performance and energy efficiency evaluation of heterogeneous systems for bioinformatics

    Get PDF
    Bioinformatics is one of the areas affected by current HPC problems due to the exponential growth of biological data in the last years and the increasing number of bioinformatics applications demanding HPC to meet performance requirements. One of these applications is sequence alignment, which is considered to be fundamental procedure in biological sciences. The alignment process compares two or more biological sequences and its purpose is to identify regions of similarity among them. The Smith-Waterman (SW) algorithm is a popular method for local sequence alignment that has been used as the basis for many subsequent algorithms, and is often employed as a benchmark when comparing different alignment techniques. However, due to the quadratic computational complexity of Smith-Waterman algorithm, several heuristics are used in practice that reduce the execution time but at the expense of not guaranteeing to discover the optimal local alignments. In order to process the ever increasing quantity of biological data with acceptable response times, it is necessary to develop new computational tools that are capable of accelerating key primitives and fundamental algorithms in an efficient manner from performance and energy consumption points of view. For that reason, this thesis considered, as general objective, evaluating performance and energy efficiency of HPC systems for accelerating Smith-Waterman biological sequence alignment.Es revisión de: http://sedici.unlp.edu.ar/handle/10915/53045Resumen de la tesis doctoral presentada por el autor en la Universidad de La Plata en marzo de 2016.Facultad de Informátic

    FPGAs: ¿los procesadores del futuro?

    Get PDF
    Las Field Programmable Gate Arrays (FPGA) son circuitos integrados reconfigurables compuestos de interconexiones programables que combinan bloques lógicos programables, de memoria embebida y de procesamiento de señales digitales, entre otros. Dicho en palabras más simples, una FPGA es “hardware programable”. A diferencia de las CPUs y las GPUs, los recursos de una FPGA pueden ser configurados para crear pipelines de instrucciones específicos para el problema a resolver. Si bien operan a frecuencias de reloj más bajas y tienen picos de rendimiento inferiores, la posibilidad de adaptar el hardware para cada aplicación particular le permite a las FPGAs lograr mejores tasas de rendimiento en la mayoría de los casos. En forma adicional, suelen ser más eficientes desde el punto de vista energético ya que no hay desperdicio en los recursos de silicio.Facultad de Informátic

    Evaluación de rendimiento y eficiencia energética de sistemas heterogéneos para bioinformática

    Get PDF
    El problema del consumo energético se presenta como uno de los mayores obstáculos para el diseño de sistemas que sean capaces de alcanzar la escala de los Exaflops. Por lo tanto, la comunidad científica está en la búsqueda de diferentes maneras de mejorar la eficiencia energética de los sistemas HPC. Una tendencia reciente para incrementar el poder computacional y al mismo tiempo limitar el consumo de potencia de estos sistemas consiste en incorporarles aceleradores y coprocesadores, como pueden ser las GPUs de NVIDIA y AMD o los coprocesadores Xeon Phi de Intel. Por otra parte, las FPGAs aparecen como una opción promisoria para HPC debido a su capacidad de cómputo creciente, su bajo consumo energético y al desarrollo de nuevas herramientas que facilitan su programación. Estos sistemas híbridos que emplean diferentes recursos de procesamiento se denominan sistemas heterogéneos y son capaces de obtener mejores cocientes FLOPS/Watt. Entre las áreas que se ven afectadas por los problemas actuales de los sistemas HPC se encuentra la bioinformática, debido al crecimiento exponencial que ha experimentado la información biológica en los últimos años y a que cuenta con un número creciente de aplicaciones que requieren de cómputo de altas prestaciones para alcanzar tiempos de respuesta aceptables. Una de esas aplicaciones es el alineamiento de secuencias, la cual es considerada una operación fundamental en las ciencias biológicas debido a su utilización en la mayoría de sus especialidades. El alineamiento consiste en comparar dos o más secuencias biológicas y su propósito es detectar qué regiones comparten una historia evolutiva común. El algoritmo SW es un método popular para el alineamiento local de secuencias que ha sido utilizado como base para otros algoritmos posteriores y como patrón con el cual comparar otras técnicas de alineamiento. Sin embargo, debido a que su complejidad computacional es cuadrática, en la práctica se emplean diversas heurísticas que permiten reducir el tiempo de ejecución a costo de una pérdida en la sensibilidad de los resultados. De manera de procesar el creciente volumen de información biológica con tiempos de respuesta aceptables, resulta necesario desarrollar nuevas herramientas computacionales que sean capaces de acelerar primitivas claves y algoritmos elementales eficientemente en términos de rendimiento y consumo energético. Por ese motivo, esta tesis se planteó como objetivo general evaluar el rendimiento y la eficiencia energética de sistemas para cómputo de altas prestaciones al acelerar el alineamiento de secuencias biológicas mediante el método de Smith-Waterman. En primer lugar, se estudiaron las posibles formas de paralelizar el algoritmo SW y se describieron las implementaciones existentes sobre diferentes plataformas de procesamiento: CPU, GPU, FPGA y Xeon Phi. El análisis para cada dispositivo incluyó la evolución temporal de sus implementaciones así como también una descripción detallada de los aportes, las limitaciones, los resultados y la experimentación realizada en cada uno de los trabajos. Este análisis fue posible gracias al estudio de las diferentes arquitecturas y modelos de programación además del de los distintos algoritmos para alineamiento de secuencias biológicas realizado previamente. A continuación, se desarrollaron nuevas soluciones algorítmicas para sistemas heterogéneos. Como las GPUs son el acelerador dominante en la comunidad de HPC al día de hoy y existe vasta investigación científica sobre el uso de esta clase de aceleradores para el alineamiento de secuencias, se decidió priorizar el desarrollo de implementaciones para sistemas heterogéneos basados en Xeon Phi y basados en FPGA. Al inicio de esta tesis no existían implementaciones disponibles para el alineamiento de secuencias basadas en Xeon Phi. En sentido opuesto, sí existían antecedentes en la aplicación de FPGAs para el procesamiento de secuencias biológicas, aunque estas implementaciones fueron desarrolladas con HDLs tradicionales y en su mayoría poseen una o más limitaciones que restringen su uso en el mundo real. El trabajo experimental se inició con los sistemas heterogéneos basados en Xeon Phi. Como punto de partida, se desarrollaron y optimizaron implementaciones para las CPUs y los Xeon Phi en forma individual antes de combinarlos en una implementación híbrida. Las implementaciones desarrolladas fueron compiladas en una única herramienta a la cual se la llamó SWIMM. A partir del análisis del estado del arte realizado inicialmente, se identificó a SWIPE como la herramienta más rápida para búsquedas de similitud en CPU. Mediante los experimentos realizados, se mostró que la versión SSE de SWIMM es equiparable con SWIPE mientras que la versión AVX2 logró superarlo ampliamente alcanzado diferencias de hasta 1.4x. Cabe destacar que, hasta donde llega el conocimiento del tesista, esta es la primera implementación SW para el conjunto de instrucciones AVX2. En cuanto a los Xeon Phi, al inicio de esta investigación no existían implementaciones disponibles para este coprocesador. Sin embargo, en el año 2014 aparecieron SWAPHI y XSW 2.0. Mientras que SWAPHI sólo explota el coprocesador, XSW 2.0 es capaz de aprovechar la potencia del host en simultáneo. A través de los experimentos realizados, se mostró que la versión KNC de SWIMM resulta competitiva con SWAPHI, siendo capaz de superarlo para secuencias medianas y largas. Complementariamente, la versión híbrida de SWIMM con distribución dinámica (SSE+KNC) superó notablemente a su alternativa XSW 2.0, logrando aceleraciones de hasta 3.9x. El siguiente paso en el trabajo experimental consistió en el desarrollo de soluciones algorítmicas para sistemas heterogéneos basados en aceleradores FPGA. A diferencia de las implementaciones disponibles en la literatura, se decidió explorar los beneficios de utilizar una tecnología innovadora, como lo es OpenCL en el ámbito de las FPGAs, en lugar de HDLs tradicionales como VHDL o Verilog. En primer lugar, se exploró el rendimiento y el consumo de recursos de diferentes kernels de forma de encontrar la configuración más beneficiosa. Posteriormente, se desarrolló una versión híbrida empleando el código de SWIMM. Estas implementaciones también fueron compiladas en una única herramienta a la cual se la llamó OSWALD. Hasta donde llega el conocimiento del tesista, ésta es la primera implementación utilizando OpenCL sobre FPGAs para búsquedas de similitud. Además, en base al análisis del estado del arte realizado inicialmente, es una de las pocas implementaciones que es completamente funcional y general para esta clase de sistemas, además de facilitar la portabilidad por el empleo de OpenCL. Desafortunadamente, la ausencia del código fuente impide una comparación con otras implementaciones basadas en FPGA y aunque un análisis teórico es posible, los diferentes dispositivos, tecnologías y enfoques empleados no sólo complican una comparación directa sino que también dificultan hacerla en forma justa. La última etapa del trabajo experimental se basó en relacionar el rendimiento alcanzado con el consumo de potencia de los sistemas empleados previamente. De acuerdo al análisis realizado, se puede afirmar que los sistemas basados únicamente en CPU son capaces de obtener un buen balance entre rendimiento y consumo de potencia a partir de la explotación de multihilado e instrucciones vectoriales, destacándose aquellos que disponen de las extensiones AVX2. Por otra parte, la incorporación de aceleradores al cómputo del host demostró mejorar el rendimiento global del sistema en todos los casos, aunque la proporción de mejora varió de acuerdo al acelerador elegido. Desafortunadamente no ocurrió lo mismo en cuanto a la eficiencia energética. Los Xeon Phi no representan una buena opción para este tipo de aplicación. La ausencia de capacidades vectoriales para enteros de bajo rango es la causa principal del pobre rendimiento de este coprocesador, lo que provoca que el incremento en el consumo energético sea mucho mayor que la ganancia de rendimiento. En sentido opuesto, las GPUs sí pueden explotar este tipo de datos y es por ello que se puede aprovechar su gran poder computacional para acelerar los alineamientos. Aunque el aumento en el consumo de potencia es elevado, la mejora lograda por el uso de esta clase de aceleradores resulta superior, lo que se traduce en una mayor eficiencia energética. En el caso de las FPGAs, su capacidad de reconfiguración hace posible adaptar el hardware a los requerimientos del algoritmo SW. Si bien el rendimiento alcanzable de estos aceleradores puede ser inferior al correspondiente a las GPUs, su bajo consumo de potencia lleva a mayores tasas de eficiencia energética. A diferencia de otras evaluaciones de rendimiento y eficiencia energética en el contexto de SW, en esta tesis se han empleado secuencias de consulta y bases de datos representativas de la comunidad bioinformática, potentes arquitecturas orientadas a HPC y eficientes implementaciones que han demostrado ser las más rápidas de su clase. Por ese motivo se considera que la evaluación presentada puede ser de mayor utilidad en el mundo real. De acuerdo a los resultados obtenidos y a las contribuciones realizadas, se espera que esta tesis aporte a una mayor adopción de SW por parte de la comunidad bioinformática y a un procesamiento más eficiente de los alineamientos de secuencias biológicas en términos de rendimiento y consumo energético.Director y Codirector (UCM): Dr. Carlos García Sanchez y Dr. Guillermo Botella JuanFacultad de Informátic

    Performance and energy efficiency evaluation of heterogeneous systems for bioinformatics

    Get PDF
    Bioinformatics is one of the areas affected by current HPC problems due to the exponential growth of biological data in the last years and the increasing number of bioinformatics applications demanding HPC to meet performance requirements. One of these applications is sequence alignment, which is considered to be fundamental procedure in biological sciences. The alignment process compares two or more biological sequences and its purpose is to identify regions of similarity among them. The Smith-Waterman (SW) algorithm is a popular method for local sequence alignment that has been used as the basis for many subsequent algorithms, and is often employed as a benchmark when comparing different alignment techniques. However, due to the quadratic computational complexity of Smith-Waterman algorithm, several heuristics are used in practice that reduce the execution time but at the expense of not guaranteeing to discover the optimal local alignments. In order to process the ever increasing quantity of biological data with acceptable response times, it is necessary to develop new computational tools that are capable of accelerating key primitives and fundamental algorithms in an efficient manner from performance and energy consumption points of view. For that reason, this thesis considered, as general objective, evaluating performance and energy efficiency of HPC systems for accelerating Smith-Waterman biological sequence alignment.Es revisión de: http://sedici.unlp.edu.ar/handle/10915/53045Resumen de la tesis doctoral presentada por el autor en la Universidad de La Plata en marzo de 2016.Facultad de Informátic

    Comparación de modelos de sincronización en programación paralela sobre cluster de multicores

    Get PDF
    Como objetivo inicial de esta tesina se encuentra la investigación de modelos de sincronización para aplicaciones paralelas de alta complejidad computacional sobre cluster de multicores, teniendo en cuenta el auge de esta arquitectura. Como caso de prueba se utiliza el algoritmo de Smith-Waterman para determinar el grado de similitud de dos secuencias de ADN, cuya paralelización emplea un esquema de pipeline debido a la dependencia de datos inherente al problema. Resulta de interés comparar diferentes técnicas de descomposición paralela y mapeo de tareas concurrentes a procesadores para la aplicación mencionada anteriormente. También interesa analizar alternativas de los algoritmos paralelos conocidos para el alineamiento de secuencias, considerando la arquitectura multiprocesador de soporte. Finalmente, estudiar métricas de perfomance para los estudios experimentales que se realicen de manera de obtener una comparación real de la solución a esta clase de problemas, empleando sincronización por mensajes, por memoria compartida e híbrida.Facultad de Informátic

    Computación eficiente del alineamiento de secuencias de ADN sobre cluster de multicores

    Get PDF
    Una de las áreas de mayor interés y crecimiento en los últimos años dentro del procesamiento paralelo es la del tratamiento de grandes volúmenes de datos, tales como las secuencias de ADN. El tipo de procesamiento extensivo de comparación para analizar patrones genéticos requiere un esfuerzo importante en el desarrollo de algoritmos paralelos eficientes. El alineamiento de secuencias de ADN representa una de las operaciones más importantes dentro de la bioinformática. En 1981, Smith y Waterman desarrollaron un método para el alineamiento local de secuencias. Sin embargo, en la práctica se emplean diversas heurísticas en su lugar, debido a los requerimientos de procesamiento y de memoria del algoritmo Smith-Waterman. Si bien son más rápidas, las heurísticas no garantizan que el alineamiento óptimo sea encontrado. Es por ello que resulta interesante estudiar cómo aplicar la potencia de cómputo de plataformas paralelas actuales de manera de acelerar el proceso de alinear secuencias sin perder precisión en los resultados. Los niveles insostenibles de generación de calor y consumo de energía que se presentan al escalar al máximo la velocidad de los procesadores mononúcleos motivaron el surgimiento de los procesadores de múltiples núcleos (multicore). Un procesador multicore integra dos o más núcleos computacionales dentro de un único chip y, si bien estos son más simples y menos veloces, al combinarlos permiten mejorar el rendimiento global del procesador y al mismo tiempo hacerlo más eficiente energéticamente. Al incorporar este tipo de procesadores a los clusters convencionales, se da origen a una arquitectura conocida como cluster de multicores, que combina memoria compartida y distribuida, y donde la comunicación entre las diferentes unidades de procesamiento resulta ser heterogénea. En este trabajo se presenta un algoritmo paralelo distribuido para el alineamiento de secuencias de ADN basado en el método Smith-Waterman para ser ejecutado sobre las arquitecturas de cluster actuales. Además, se realiza un análisis de rendimiento del mismo. Por último, se presentan las conclusiones y las posibles líneas de trabajo futuro.Facultad de Informátic

    Un estudio comparativo entre HLS y HDL en SoC para aplicaciones de procesamiento de imágenes

    Get PDF
    The increasing complexity in today’s systems and the limited market times demand new development tools for FPGA. Currently, in addition to traditional hardware description languages (HDLs), there are high level synthesis (HLS) tools that increase the abstraction level in system development. Despite the greater simplicity of design and testing, HLS has some drawbacks in describing hardware. This paper presents a comparative study between HLS and HDL for FPGA, using a Sobel filter as a case study in the image processing field. The results show that the HDL implementation is slightly better than the HLS version considering resource usage and response time. However, the programming effort required in the HDL solution is significantly larger than in the HLS counterpart.La creciente complejidad de los sistemas actuales y los tiempos limitados del mercado exigen nuevas herramientas de desarrollo para las FPGAs. Hoy en día, además de los tradicionales lenguajes de descripción de hardware (HDL), existen herramientas de síntesis de alto nivel (HLS) que aumentan el nivel de abstracción en el desarrollo de sistemas. A pesar de la mayor simplicidad de diseño y pruebas, HLS tiene algunos inconvenientes para describir hardware. Este documento presenta un estudio comparativo entre HLS y HDL para FPGA, utilizando un filtro Sobel como caso de estudio en el ámbito del procesamiento de imágenes. Los resultados muestran que la implementación HDL es levemente mejor que la versión HLS considerando uso de recursos y tiempo de respuesta. Sin embargo, el esfuerzo de programación en la implementación de HDL es significativamente mayor

    Relation between cost of drug treatment and body mass index in people with type 2 diabetes in Latin America

    Get PDF
    Aims Despite the frequent association of obesity with type 2 diabetes (T2D), the effect of the former on the cost of drug treatment of the latest has not been specifically addressed. We studied the association of overweight/obesity on the cost of drug treatment of hyperglycemia, hypertension and dyslipidemia in a population with T2D. Methods This observational study utilized data from the QUALIDIAB database on 3,099 T2D patients seen in Diabetes Centers in Argentina, Chile, Colombia, Peru, and Venezuela. Data were grouped according to body mass index (BMI) as Normal (18.5BMI<25), Overweight (25BMI<30), and Obese (BMI30). Thereafter, we assessed clinical and metabolic data and cost of drug treatment in each category. Statistical analyses included group comparisons for continuous variables (parametric or non-parametric tests), Chi-square tests for differences between proportions, and multivariable regression analysis to assess the association between BMI and monthly cost of drug treatment. Results Although all groups showed comparable degree of glycometabolic control (FBG, HbA1c), we found significant differences in other metabolic control indicators. Total cost of drug treatment of hyperglycemia and associated cardiovascular risk factors (CVRF) increased significantly (p<0.001) with increment of BMI. Hyperglycemia treatment cost showed a significant increase concordant with BMI whereas hypertension and dyslipidemia did not. Despite different values and percentages of increase, this growing cost profile was reproduced in every participating country. BMI significantly and independently affected hyperglycemia treatment cost. Conclusions Our study shows for the first time that BMI significantly increases total expenditure on drugs for T2D and its associated CVRF treatment in Latin America.Fil: Elgart, Jorge Federico. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - la Plata. Centro de Endocrinología Experimental y Aplicada. Universidad Nacional de la Plata. Facultad de Ciencias Médicas. Centro de Endocrinología Experimental y Aplicada; ArgentinaFil: Prestes, Mariana. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - la Plata. Centro de Endocrinología Experimental y Aplicada. Universidad Nacional de la Plata. Facultad de Ciencias Médicas. Centro de Endocrinología Experimental y Aplicada; ArgentinaFil: Gonzalez, Lorena. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - la Plata. Centro de Endocrinología Experimental y Aplicada. Universidad Nacional de la Plata. Facultad de Ciencias Médicas. Centro de Endocrinología Experimental y Aplicada; ArgentinaFil: Rucci, Enzo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - la Plata. Centro de Endocrinología Experimental y Aplicada. Universidad Nacional de la Plata. Facultad de Ciencias Médicas. Centro de Endocrinología Experimental y Aplicada; ArgentinaFil: Gagliardino, Juan Jose. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - la Plata. Centro de Endocrinología Experimental y Aplicada. Universidad Nacional de la Plata. Facultad de Ciencias Médicas. Centro de Endocrinología Experimental y Aplicada; Argentin

    Comparación de Rendimiento y Esfuerzo de Programación entre Numba y Cython para una Aplicación Multi-hilada de Alto Rendimiento

    Get PDF
    En la actualidad, Python es uno de los lenguajes mas utilizados en diversas áreas de aplicación. Sin embargo, éste presenta limitaciones a la hora de poder optimizar y paralelizar aplicaciones debido a limitaciones de su intérprete oficial (CPython), especialmente para aplicaciones CPU-bound. Para solucionar esta problemática han surgido traductores alternativos, aunque cada uno con un enfoque diferente y con su propia relación de costo-rendimiento. Este trabajo es una continuación de otros previos, donde se presenta una comparación de rendimiento más justa y actualizada de los traductores Numba y Cython para el caso de estudio N-Body (un problema popular con alta demanda computacional). Además, se realiza un análisis comparativo del esfuerzo de programación requerido por ambas soluciones, lo que brinda un segundo criterio a la hora de optar entre ellos.XXIII Workshop Procesamiento Distribuido y Paralelo (WPDP)Red de Universidades con Carreras en Informátic
    corecore